package com.blood.modules.pregnancy.service;

import com.blood.core.config.mybatisplus.ICommonService;
import com.blood.core.resp.PageResult;
import com.blood.core.resp.ResponseResult;
import com.blood.modules.pregnancy.dto.req.PregnancyMessagePageReq;
import com.blood.modules.pregnancy.dto.resp.PregnancyMessagePageResp;
import com.blood.modules.pregnancy.model.PregnancyMessage;


/**
 * 孕产通知Service接口
 *
 * @author daoren
 * @date 2022-11-25 09:11:14
 */
public interface IPregnancyMessageService extends ICommonService<PregnancyMessage> {

    /**
     * 分页查询
     *
     * @param req 查询参数
     * @return 分页列表信息
     */
    PageResult<PregnancyMessagePageResp> pageList(PregnancyMessagePageReq req);

    /**
     * 获取最新未读信息
     *
     * @return 最新信息
     */
    PregnancyMessage queryNewInfo();

    /**
     * 添加
     *
     * @param saveInfo
     */
    void saveInfo(PregnancyMessage saveInfo);

    /**
     * 修改
     *
     * @param req
     */
    void updateInfo(PregnancyMessage req);
    /**
     * 删除采集信息消息
     *
     * @param gatherId 采集id
     */
    void removeInfo(String gatherId);

    /**
     * 批量修改代办
     *
     * @param pregnancyId
     */
    void batchUpdateInfo(String pregnancyId);

    /**
     * 清空消息
     *
     * @return 结果
     */
    ResponseResult<Void> clear();

    /**
     * 更改为已读通知
     *
     * @param id 消息id
     */
    void read(String id);

    /**
     * 全部已读通知
     */
    void allRead();
}
